home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
SJOIN021.ZIP
/
SJOIN.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1996-01-20
|
5KB
|
380 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer TINTEGER001(20)
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER015
String TSTRING001(20)
String TSTRING002(20)
String TSTRING003(20)
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING016
String STRING018
Declare Function FUNCTION001(Integer INTEGER014) Integer
Declare Function FUNCTION002(String STRING017, Integer INTEGER017) String
Declare Procedure PROC001()
Declare Procedure PROC002(Integer INTEGER016)
;------------------------------------------------------------------------------
STRING007 = "20"
If (TokCount() > 0) Then
GetToken STRING006
KbdStuff Chr(13)
Join S2I(STRING006, 10)
End
Endif
Print "@X07l@X03o@X0Ba@X0Fding.."
Gosub LABEL009
INTEGER009 = 0
PROC001()
Cls
Print "@POFF@@QOFF@"
DispFile PPEPath() + "S-TOP.PCB", 0
For INTEGER002 = 0 To INTEGER008
AnsiPos INTEGER004, INTEGER006 + INTEGER002
INTEGER005 = GetX()
PrintLn TSTRING003(INTEGER002)
Next
DispFile PPEPath() + "S-BOT.PCB", 0
Gosub LABEL004
:LABEL001
STRING006 = Upper(Inkey())
If (STRING006 == "") Goto LABEL001
Select Case (STRING006)
Case "UP", "A"
Gosub LABEL003
Dec INTEGER009
Gosub LABEL004
Case "DOWN", "Z"
Gosub LABEL003
Inc INTEGER009
Gosub LABEL004
Case Chr(13)
Goto LABEL010
Case Chr(27)
Cls
STRING005 = STRING010
Goto LABEL010
End Select
:LABEL002
Goto LABEL001
:LABEL003
AnsiPos INTEGER005, INTEGER006 + INTEGER009
Print TSTRING003(INTEGER009)
Return
:LABEL004
If (INTEGER009 < 0) INTEGER009 = INTEGER008
If (INTEGER009 > INTEGER008) INTEGER009 = 0
AnsiPos INTEGER005, INTEGER006 + INTEGER009
If (Upper(Left(STRING011, 1)) == "Y") Then
Print Upper(TSTRING002(INTEGER009))
Else
Print TSTRING002(INTEGER009)
Endif
AnsiPos INTEGER003, GetY()
Return
End
;------------------------------------------------------------------------------
Procedure PROC001()
Integer INTEGER012
Integer INTEGER013
GetUser
INTEGER010 = -1
INTEGER013 = 0
FOpen 1, STRING014, 0, 0
FSeek 1, 2, 0
For INTEGER012 = 0 To HiConfNum()
INTEGER013 = INTEGER013 + FUNCTION001(INTEGER012)
Next
FClose 1
EndProc
;------------------------------------------------------------------------------
Function FUNCTION001(Integer INTEGER014) Integer
Boolean BOOLEAN001
String STRING015
Integer INTEGER016
FRead 1, STRING015, 14
If (Strip(STRING015, " ") <> "") Then
FRead 1, BOOLEAN001, 1
If (BOOLEAN001 == 1) Then
If (U_Sec >= S2I(ReadLine(STRING004, (INTEGER014 + 1) * 33 - 10), 10)) Then
PROC002(INTEGER014)
FUNCTION001 = 1
Else
FUNCTION001 = 0
Endif
ElseIf (ConfSel(INTEGER014) || ConfReg(INTEGER014)) Then
PROC002(INTEGER014)
FUNCTION001 = 1
Else
FUNCTION001 = 0
Endif
FSeek 1, 533, 1
Else
FSeek 1, 534, 1
FUNCTION001 = 0
Endif
EndFunc
;------------------------------------------------------------------------------
Procedure PROC002(Integer INTEGER016)
String STRING016
Inc INTEGER010
TINTEGER001(INTEGER010) = INTEGER016
TSTRING001(INTEGER010) = ReadLine(STRING004, (INTEGER016 + 1) * 33 - 32)
TSTRING002(INTEGER010) = ReplaceStr(STRING012, "%N%", Right(String(TINTEGER001(INTEGER010)), 2))
TSTRING002(INTEGER010) = ReplaceStr(TSTRING002(INTEGER010), "%C%", FUNCTION002(TSTRING001(INTEGER010), INTEGER007))
TSTRING003(INTEGER010) = ReplaceStr(STRING013, "%N%", Right(String(TINTEGER001(INTEGER010)), 2))
TSTRING003(INTEGER010) = ReplaceStr(TSTRING003(INTEGER010), "%C%", FUNCTION002(TSTRING001(INTEGER010), INTEGER007))
If (InStr(STRING013, "%D%") || InStr(STRING012, "%D%")) Then
STRING016 = ReadLine(STRING004, (INTEGER016 + 1) * 33 - 12)
If (STRING016 == "") Then
TSTRING002(INTEGER010) = ReplaceStr(TSTRING002(INTEGER010), "%D%", FUNCTION002(STRING009, INTEGER011))
TSTRING003(INTEGER010) = ReplaceStr(TSTRING003(INTEGER010), "%D%", FUNCTION002(STRING009, INTEGER011))
Goto LABEL005
Endif
TSTRING002(INTEGER010) = ReplaceStr(TSTRING002(INTEGER010), "%D%", FUNCTION002(STRING008, INTEGER011))
TSTRING003(INTEGER010) = ReplaceStr(TSTRING003(INTEGER010), "%D%", FUNCTION002(STRING008, INTEGER011))
Endif
:LABEL005
If (InStr(STRING013, "%M%") || InStr(STRING012, "%M%")) Then
STRING016 = ReadLine(STRING004, (INTEGER016 + 1) * 33 - 23)
If (STRING016 == "") Then
TSTRING002(INTEGER010) = ReplaceStr(TSTRING002(INTEGER010), "%M%", FUNCTION002(STRING009, INTEGER011))
TSTRING003(INTEGER010) = ReplaceStr(TSTRING003(INTEGER010), "%M%", FUNCTION002(STRING009, INTEGER011))
Goto LABEL006
Endif
TSTRING002(INTEGER010) = ReplaceStr(TSTRING002(INTEGER010), "%M%", FUNCTION002(STRING008, INTEGER011))
TSTRING003(INTEGER010) = ReplaceStr(TSTRING003(INTEGER010), "%M%", FUNCTION002(STRING008, INTEGER011))
Endif
:LABEL006
If (InStr(STRING013, "%B%") || InStr(STRING012, "%B%")) Then
STRING016 = ReadLine(STRING004, (INTEGER016 + 1) * 33 - 8)
If (STRING016 == "") Then
TSTRING002(INTEGER010) = ReplaceStr(TSTRING002(INTEGER010), "%B%", FUNCTION002(STRING009, INTEGER011))
TSTRING003(INTEGER010) = ReplaceStr(TSTRING003(INTEGER010), "%B%", FUNCTION002(STRING009, INTEGER011))
Goto LABEL007
Endif
TSTRING002(INTEGER010) = ReplaceStr(TSTRING002(INTEGER010), "%B%", FUNCTION002(STRING008, INTEGER011))
TSTRING003(INTEGER010) = ReplaceStr(TSTRING003(INTEGER010), "%B%", FUNCTION002(STRING008, INTEGER011))
Endif
:LABEL007
If (InStr(STRING013, "%F%") || InStr(STRING012, "%F%")) Then
STRING016 = ReadLine(STRING004, (INTEGER016 + 1) * 33)
If (STRING016 == "") Then
TSTRING002(INTEGER010) = ReplaceStr(TSTRING002(INTEGER010), "%F%", FUNCTION002(STRING009, INTEGER011))
TSTRING003(INTEGER010) = ReplaceStr(TSTRING003(INTEGER010), "%F%", FUNCTION002(STRING009, INTEGER011))
Goto LABEL008
Endif
TSTRING002(INTEGER010) = ReplaceStr(TSTRING002(INTEGER010), "%F%", FUNCTION002(STRING008, INTEGER011))
TSTRING003(INTEGER010) = ReplaceStr(TSTRING003(INTEGER010), "%F%", FUNCTION002(STRING008, INTEGER011))
Endif
:LABEL008
If (CurConf() == INTEGER016) INTEGER009 = INTEGER010
INTEGER008 = INTEGER010
If (INTEGER008 + INTEGER006 > 20) INTEGER008 = 21 - INTEGER006
EndProc
:LABEL009
STRING004 = ReadLine(PCBDat(), 31)
STRING005 = "CNAMES file not found. You got not conferences??"
If (Exist(STRING004)) Then
STRING005 = "No CFG File found.."
If (Exist(PPEPath() + "SJOIN.CFG")) Then
FOpen 1, PPEPath() + "SJOIN.CFG", 2, 0
FGet 1, STRING014
FGet 1, INTEGER004
FGet 1, INTEGER003
FGet 1, INTEGER006
FGet 1, INTEGER007
FGet 1, STRING012
FGet 1, STRING013
FGet 1, STRING011
FGet 1, STRING010
FGet 1, INTEGER011
FGet 1, STRING008
FGet 1, STRING009
FClose 1
STRING005 = "CNAMES.@@@ file not found."
If (Exist(STRING014)) Then
STRING005 = ""
Return
Endif
Endif
Endif
:LABEL010
DefColor
Cls
PrintLn "@X0FS@X07ickJoin @X0Fv@X070.21 @X0Fb@X07y @X0FF@X07lax!"
KbdStuff Chr(13)
If (STRING005 <> "") Then
Print "@X05" + STRING005
Else
Join TINTEGER001(INTEGER009)
FreshLine
Newline
Endif
Newline
Print "@PON@@QON@"
End
;------------------------------------------------------------------------------
Function FUNCTION002(String STRING017, Integer INTEGER017) String
FUNCTION002 = STRING017
If (Len(STRING017) < INTEGER017) FUNCTION002 = Left(STRING017, INTEGER017)
EndFunc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 3 Cls
; 44 Goto
; 55 Let
; 7 Print
; 2 PrintLn
; 30 If
; 2 DispFile
; 2 FOpen
; 2 FClose
; 12 FGet
; 1 GetUser
; 1 DefColor
; 6 Gosub
; 3 Return
; 2 Inc
; 1 Dec
; 2 Newline
; 1 GetToken
; 2 KbdStuff
; 2 Join
; 4 AnsiPos
; 1 FreshLine
; 3 FSeek
; 2 FRead
; 2 EndProc
; 2 EndFunc
;
;
; ■ Functions used :
;
; 1 -
; 6 *
; 18 +
; 6 -
; 14 ==
; 2 <>
; 4 <
; 2 <=
; 3 >
; 5 >=
; 24 !
; 4 &&
; 9 ||
; 1 Len(
; 3 Upper()
; 2 Left()
; 2 Right()
; 4 Chr()
; 8 InStr()
; 1 Strip()
; 1 Inkey()
; 2 String()
; 1 CurConf()
; 1 PCBDat()
; 4 PPEPath()
; 7 ReadLine()
; 3 Exist()
; 2 S2I()
; 1 GetX()
; 1 GetY()
; 1 TokCount()
; 20 ReplaceStr()
; 1 ConfReg()
; 1 ConfSel()
; 2 HiConfNum()
;
;------------------------------------------------------------------------------
;
; Analysis flags : d
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 2 For/Next
; 0 While/EndWhile
; 18 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------